aboutsummaryrefslogtreecommitdiff
path: root/src/routes/user/[user]
diff options
context:
space:
mode:
Diffstat (limited to 'src/routes/user/[user]')
-rw-r--r--src/routes/user/[user]/+page.svelte36
-rw-r--r--src/routes/user/[user]/+page.ts2
-rw-r--r--src/routes/user/[user]/badges/+page.svelte62
-rw-r--r--src/routes/user/[user]/badges/+page.ts2
4 files changed, 53 insertions, 49 deletions
diff --git a/src/routes/user/[user]/+page.svelte b/src/routes/user/[user]/+page.svelte
index bfcdd87b..771683ad 100644
--- a/src/routes/user/[user]/+page.svelte
+++ b/src/routes/user/[user]/+page.svelte
@@ -1,27 +1,27 @@
<script lang="ts">
-import Spacer from "$lib/Layout/Spacer.svelte";
-import settings from "$stores/settings";
-import ParallaxImage from "../../../lib/Image/ParallaxImage.svelte";
-import { typeSchedule, type ParseResult } from "$lib/Hololive/hololive";
-import HeadTitle from "$lib/Home/HeadTitle.svelte";
-import Message from "$lib/Loading/Message.svelte";
-import { estimatedDayReading } from "$lib/Media/Manga/time";
-import Skeleton from "$lib/Loading/Skeleton.svelte";
-import root from "$lib/Utility/root";
-import locale from "$stores/locale";
+import SvelteMarkdown from "@humanspeak/svelte-markdown";
import { onMount } from "svelte";
+import { graphql } from "$houdini";
+import { parseScheduleHtml } from "$lib/Data/hololive";
import authorisedUsers from "$lib/Data/Static/authorised.json";
-import tooltip from "$lib/Tooltip/tooltip";
import AnimeRateLimited from "$lib/Error/AnimeRateLimited.svelte";
-import identity from "$stores/identity";
+import { type ParseResult, typeSchedule } from "$lib/Hololive/hololive";
+import HeadTitle from "$lib/Home/HeadTitle.svelte";
+import Spacer from "$lib/Layout/Spacer.svelte";
+import Message from "$lib/Loading/Message.svelte";
+import Skeleton from "$lib/Loading/Skeleton.svelte";
+import MarkdownLink from "$lib/MarkdownLink.svelte";
+import { estimatedDayReading } from "$lib/Media/Manga/time";
import SettingHint from "$lib/Settings/SettingHint.svelte";
+import LinkedTooltip from "$lib/Tooltip/LinkedTooltip.svelte";
+import tooltip from "$lib/Tooltip/tooltip";
import proxy from "$lib/Utility/proxy";
-import { parseScheduleHtml } from "$lib/Data/hololive";
+import root from "$lib/Utility/root";
+import identity from "$stores/identity";
+import locale from "$stores/locale";
+import settings from "$stores/settings";
import type { Preferences } from "../../../graphql/$types";
-import SvelteMarkdown from "@humanspeak/svelte-markdown";
-import MarkdownLink from "$lib/MarkdownLink.svelte";
-import LinkedTooltip from "$lib/Tooltip/LinkedTooltip.svelte";
-import { graphql } from "$houdini";
+import ParallaxImage from "../../../lib/Image/ParallaxImage.svelte";
import type { PageData } from "./$types";
export let data: PageData;
@@ -118,7 +118,7 @@ const setBadgeWallCSSQuery = graphql(`
$: userData = data.userData;
let error = false;
-let schedule: ParseResult | undefined = undefined;
+let schedule: ParseResult | undefined;
let draggedCategory: string | null = null;
let draggedOverCategory: string | null = null;
diff --git a/src/routes/user/[user]/+page.ts b/src/routes/user/[user]/+page.ts
index 6ec3c845..2af22d1d 100644
--- a/src/routes/user/[user]/+page.ts
+++ b/src/routes/user/[user]/+page.ts
@@ -1,6 +1,6 @@
+import type { LoadEvent } from "@sveltejs/kit";
import { load_Profile } from "$houdini";
import { user } from "$lib/Data/AniList/user";
-import type { LoadEvent } from "@sveltejs/kit";
export const load = async (event: LoadEvent) => {
const username = event.params.user as string;
diff --git a/src/routes/user/[user]/badges/+page.svelte b/src/routes/user/[user]/badges/+page.svelte
index de55b456..dc43fc08 100644
--- a/src/routes/user/[user]/badges/+page.svelte
+++ b/src/routes/user/[user]/badges/+page.svelte
@@ -1,35 +1,35 @@
<script lang="ts">
-import Spacer from "$lib/Layout/Spacer.svelte";
-import AWC from "./../../../../lib/User/BadgeWall/AWC.svelte";
-import { user, type User } from "$lib/Data/AniList/user";
-import type { Badge } from "../../../../graphql/$types";
import { onDestroy, onMount } from "svelte";
+import { get } from "svelte/store";
+import { browser } from "$app/environment";
+import { page } from "$app/stores";
+import { activityText } from "$lib/Data/AniList/activity";
+import { type User, user } from "$lib/Data/AniList/user";
+import authorisedJson from "$lib/Data/Static/authorised.json";
import HeadTitle from "$lib/Home/HeadTitle.svelte";
+import Dropdown from "$lib/Layout/Dropdown.svelte";
+import Popup from "$lib/Layout/Popup.svelte";
+import Spacer from "$lib/Layout/Spacer.svelte";
+import Message from "$lib/Loading/Message.svelte";
+import Skeleton from "$lib/Loading/Skeleton.svelte";
+import SettingHint from "$lib/Settings/SettingHint.svelte";
+import BadgePreview from "$lib/User/BadgeWall/BadgePreview.svelte";
+import proxy from "$lib/Utility/proxy";
import {
databaseTimeToDate,
dateToInputTime,
inputTimeToDatabaseTime,
} from "$lib/Utility/time";
-import proxy from "$lib/Utility/proxy";
-import locale from "$stores/locale";
-import { get } from "svelte/store";
-import Skeleton from "$lib/Loading/Skeleton.svelte";
-import Message from "$lib/Loading/Message.svelte";
-import Dropdown from "$lib/Layout/Dropdown.svelte";
-import { activityText } from "$lib/Data/AniList/activity";
-import SettingHint from "$lib/Settings/SettingHint.svelte";
-import Popup from "$lib/Layout/Popup.svelte";
-import { page } from "$app/stores";
-import { browser } from "$app/environment";
-import BadgePreview from "$lib/User/BadgeWall/BadgePreview.svelte";
-import authorisedJson from "$lib/Data/Static/authorised.json";
import identity from "$stores/identity";
+import locale from "$stores/locale";
+import type { Badge } from "../../../../graphql/$types";
+import AWC from "./../../../../lib/User/BadgeWall/AWC.svelte";
import "$lib/User/BadgeWall/badges.css";
+import localforage from "localforage";
+import { graphql } from "$houdini";
import Badges from "$lib/User/BadgeWall/Badges.svelte";
import type { IndexedBadge } from "$lib/User/BadgeWall/badge";
-import { graphql } from "$houdini";
import type { Preferences } from "../../../../graphql/$types";
-import localforage from "localforage";
import type { PageData } from "./$types";
export let data: PageData;
@@ -190,10 +190,10 @@ let error: null | string;
let awcPromise: Promise<Response>;
let confirmDelete = 0;
let confirmPrune = 0;
-let selectedBadge: IndexedBadge | undefined = undefined;
+let selectedBadge: IndexedBadge | undefined;
let loadError: string | null = null;
const isId = /^\d+$/.test(data.username);
-let importImages: ImportImage[] | undefined = undefined;
+let importImages: ImportImage[] | undefined;
let importLinks = false;
let importCategory = "";
let importReplies = false;
@@ -228,7 +228,7 @@ onMount(async () => {
badger = isId
? {
- id: parseInt(data.username),
+ id: parseInt(data.username, 10),
name: "User",
}
: await user(data.username);
@@ -379,10 +379,9 @@ const groupBadges = (badges: IndexedBadge[]) => {
return Object.entries(groupedBadges)
.sort((a, b) => a[1].length - b[1].length)
.sort((a, b) => {
- const pinnedCategories =
- preferences && preferences.pinned_badge_wall_categories
- ? preferences.pinned_badge_wall_categories
- : ([] as string[]);
+ const pinnedCategories = preferences?.pinned_badge_wall_categories
+ ? preferences.pinned_badge_wall_categories
+ : ([] as string[]);
const aIndex = pinnedCategories.indexOf(a[0]);
const bIndex = pinnedCategories.indexOf(b[0]);
@@ -410,7 +409,7 @@ const parsePost = async () => {
if (type !== "activity") return null;
- let text = await activityText(parseInt(id), importReplies);
+ let text = await activityText(parseInt(id, 10), importReplies);
const images: ImportImage[] = [];
@@ -861,7 +860,7 @@ const shadowHideBadge = () => {
/>
</span>
</Dropdown>
- <button class="button-lined" onclick={submitBadge}
+ <button class="button-lined" onclick={submitBadge} data-umami-event="Submit Badge"
>{selectedBadge
? $locale().user.badges.editMode.update
: $locale().user.badges.editMode.add}</button
@@ -987,7 +986,12 @@ const shadowHideBadge = () => {
>
{$locale().user.badges.importMode.cancel}
</button>
- <button onclick={() => parsePost()} class="button-lined" style="float: right;">
+ <button
+ onclick={() => parsePost()}
+ class="button-lined"
+ style="float: right;"
+ data-umami-event="Parse Badge Post"
+ >
{$locale().user.badges.importMode.fetch}
</button>
diff --git a/src/routes/user/[user]/badges/+page.ts b/src/routes/user/[user]/badges/+page.ts
index a14c0a6a..573b7d90 100644
--- a/src/routes/user/[user]/badges/+page.ts
+++ b/src/routes/user/[user]/badges/+page.ts
@@ -1,6 +1,6 @@
+import type { LoadEvent } from "@sveltejs/kit";
import { load_BadgeWallUser } from "$houdini";
import { user } from "$lib/Data/AniList/user";
-import type { LoadEvent } from "@sveltejs/kit";
export const load = async (event: LoadEvent) => {
const username = event.params.user as string;